package com.wang.tool.task;

import java.util.Objects;

/**
 * @Description 任务状态
 * @Author shaopeng
 * @Date 2023/10/14
 * @Version 1.0
 */
public enum TaskStatus {

    /**
     * 执行中 锁中状态
     */
    RUNNING(1),
    /**
     * 等待调度
     */
    WAIT(0),
    /**
     * 失败-终态
     */
    FAIL(-2),
    /**
     * 成功-终态
     */
    SUCCESS(2),
    /**
     * 暂停
     */
    PAUSE(-1);


    TaskStatus(int code) {
        this.code = code;
    }

    /**
     * @param code
     * @return
     */
    public static TaskStatus getByCode(Integer code) {
        if (code == null) {
            return null;
        }
        for (TaskStatus value : TaskStatus.values()) {
            if (Objects.equals(code, value.code)) {
                return value;
            }
        }
        return null;
    }


    private int code;

    public int getCode() {
        return code;
    }
}
